Conventional automated machines (e.g., robots) are designed to perform repetitive tasks. For instance, an automobile assembly line may include a phalanx of welding robots, each of which is programmed to weld specific parts. Since the robots are capable of welding the parts precisely and consistently, automobiles can be efficiently manufactured. However, such welding robots are not interactive. In other words, the welding robots are configured to carry out specific tasks only. They are not designed to work interactively with a person. Spatial operations of such welding robots are typically defined using a Cartesian coordinate system or other rigid mathematical coordinate systems, such as shown in U.S. Pat. No. 5,159,249 to Megherbi.
In contrast to the relatively rigid systems described above, intelligent systems are able to react in many ways to their surroundings, in a manner similar to the way a human or animal might react. Such a system may converse with a person or receive and carry out verbal commands from a person. An exemplary communicative interactive system is an embodied agent (physical or virtual robot) designed to receive input information from a person and from its environment, and act on the input information dynamically and adaptively. This type of interactive system may employ a graphical user interface displayed on a computer monitor and configured to receive input information using the computer's input devices.
One example of an interactive system is the communicative interactive system described in K. R. Thórisson, “Real-Time Decision Making in Multimodal Face-to-Face Communication,” 2nd ACM International Conference on Autonomous Agents, Minneapolis, Minn., 1998, which is hereby incorporated by reference. As discussed in that paper, a designer should preferably consider a number of characteristics in designing an interactive system. For example, the designer should consider: 1. Types of inputs (e.g., data from various input sources that may be received and combined); 2. Types of outputs (e.g., voice output, motor action, and the like); 3. Input-output relationships (e.g., some outputs may be more reactive than others); 4. Timing constraints (e.g., in having a dialog); 5. Whether a single act may serve different conversational functions and whether different acts can serve identical conversational functions; and 6. A conversation participant's decisions to act (or not act) based on multiple sources, both internal and external, including body language, dialogue state, task knowledge, and the like. Preferably, an embodied interactive system like the one described by Thórisson is programmed so that it knows how to talk, listen, think, and act.
The above discussed characteristics are only a subset of the characteristics that should be considered in designing and implementing an interactive agent. Moreover, as the interactive system to be designed becomes more complicated, the number of characteristics to consider may increase significantly. As a result, designing such a system may become an unmanageable task.